home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / cpptut22 / virtual4.cpp < prev    next >
C/C++ Source or Header  |  1992-01-19  |  1KB  |  60 lines

  1.                                   // Chapter 10 - Program 4
  2. #include <iostream.h>
  3.  
  4. class vehicle {
  5.    int wheels;
  6.    float weight;
  7. public:
  8.    virtual void message(void) { cout << "Vehicle message\n";}
  9. };
  10.  
  11.  
  12. class car : public vehicle {
  13.    int passenger_load;
  14. public:
  15.    void message(void) { cout << "Car message\n";}
  16. };
  17.  
  18.  
  19. class truck : public vehicle {
  20.    int passenger_load;
  21.    float payload;
  22. public:
  23.    int passengers(void) {return passenger_load;}
  24. };
  25.  
  26.  
  27. class boat : public vehicle {
  28.    int passenger_load;
  29. public:
  30.    int passengers(void) {return passenger_load;}
  31.    void message(void) { cout << "Boat message\n";}
  32. };
  33.  
  34.  
  35. main()
  36. {
  37. vehicle *unicycle;
  38. car *sedan;
  39. truck *semi;
  40. boat *sailboat;
  41.  
  42.    unicycle = new vehicle;
  43.    unicycle->message();
  44.    sedan = new car;
  45.    sedan->message();
  46.    semi = new truck;
  47.    semi->message();
  48.    sailboat = new boat;
  49.    sailboat->message();
  50. }
  51.  
  52.  
  53.  
  54. // Result of execution
  55. //
  56. // Vehicle message
  57. // Car message
  58. // Vehicle message
  59. // Boat message
  60.